package com.jrx.anytxn.customer.entity;

import java.math.BigDecimal;
import java.util.Date;

/**
 *  
 * 表:cm_customer_right_info 
 * @author pcc 
 * @date 2020-08-05 
 */
public class CmCustomerRightInfo {
    /**
     * 自增主键
     * 表字段:id
     */
    private Long id;

    /**
     * 租户ID
     * 表字段:tenant_id
     */
    private String tenantId;

    /**
     * 渠道id
     * 表字段:channel
     */
    private String channel;

    /**
     * 客户id
     * 表字段:customer_id
     */
    private String customerId;

    /**
     * 权益id
     * 表字段:rights_id
     */
    private String rightsId;

    /**
     * 机构号
     * 表字段:organization_id
     */
    private String organizationId;

    /**
     * 生效日期
     * 表字段:effect_date
     */
    private Date effectDate;

    /**
     * 失效日期
     * 表字段:expires_date
     */
    private Date expiresDate;

    /**
     * 权益类型
     * 表字段:rights_type
     */
    private String rightsType;

    /**
     * 权益名称
     * 表字段:rights_name
     */
    private String rightsName;

    /**
     * 面值（代金券有的值）
     */
    private BigDecimal faceValue;
    /**
     * 门槛（代金券和折扣券有实际业务值，其它类型权益为0）
     */
    private BigDecimal thresholdPrice;

    /**
     * 折扣值[1-10)之间（默认为0，精度2）
     */
    private BigDecimal discountValue;

    /**
     * 折扣上限即每笔订单优惠上限金额(单位：元),仅折扣券有实际业务值
     */
    private BigDecimal discountsCeiling;

    /**
     * 折扣天数
     * 表字段:discount_days
     */
    private Integer discountDays;

    /**
     * 折扣利率
     * 表字段:discount_rate
     */
    private BigDecimal discountRate;

    /**
     * 折扣计算方式
     * 表字段: discount_type
     */
    private String discountType;

    /**
     * 折扣期数
     * 表字段:discount_terms
     */
    private Integer discountTerms;

    /**
     * 最小借款金额
     * 表字段:min_amount
     */
    private BigDecimal minAmount;

    /**
     * 最大借款金额
     * 表字段:max_amount
     */
    private BigDecimal maxAmount;

    /**
     * 允许借款期数
     * 表字段:allow_loan_tenor
     */
    private String allowLoanTenor;

    /**
     * 适用产品
     * 表字段:allow_products
     */
    private String allowProducts;

    /**
     * 订单id
     * 表字段:loan_id
     */
    private String loanId;

    /**
     * 权益状态 0-未使用 1-已使用
     * 表字段:rights_status
     */
    private String rightsStatus;

    /**
     * 贴息支付方 01-- 商户  02-- 平台  03-- 资金方  04--渠道
     * 表字段:interest_discount_payer
     */
    private String interestDiscountPayer;

    /**
     * 创建时间
     * 表字段:create_time
     */
    private Date createTime;

    /**
     * 最后更新时间
     * 表字段:update_time
     */
    private Date updateTime;

    /**
     * 最后更新操作员
     * 表字段:update_by
     */
    private String updateBy;

    /**
     * 记录版本号
     * 表字段:record_version_number
     */
    private Integer recordVersionNumber;

    /**
     * 活动id
     */
    private String activityId;
    /**
     * 卡券类别
     * "0-卡券,
     *  1-直冲,
     *  2-话费,
     *  3-代金券、
     *  4-折扣券、
     *  5-物品、
     *  9-其他"
     */
    private String couponCate;
    /**
     * 权益数量
     */
    private Integer rightsQuantity;
    /**
     * 权益资格id
     */
    private String rightsQualificationId;
    /**
     * 权益资格兑换日志id
     */
    private Long rightsExchangeLogId;
    /**
     * 产品编号
     */
    private String productCode;
    /**
     * 是否可循环使用
     * 仅限折扣券有值
     * 0: 不可循环，一次使用
     * 1: 可循环使用"
     */
    private String cycleUse;
    /**
     * 折扣已使用金额 (仅循环类折扣有值)
     */
    private BigDecimal discountAmtUsed;
    /**
     * 循环折扣金额上限 (仅循环类折扣有值)
     */
    private BigDecimal discountAmtLimit;
    /**
     * 子渠道
     */
    private String subChannel;
    /**
     * 获取自增主键
     * @return id Long
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置自增主键
     * @param id 自增主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取租户ID
     * @return tenantId String
     */
    public String getTenantId() {
        return tenantId;
    }

    /**
     * 设置租户ID
     * @param tenantId 租户ID
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId == null ? null : tenantId.trim();
    }

    /**
     * 获取渠道id
     * @return channel String
     */
    public String getChannel() {
        return channel;
    }

    /**
     * 设置渠道id
     * @param channel 渠道id
     */
    public void setChannel(String channel) {
        this.channel = channel == null ? null : channel.trim();
    }

    /**
     * 获取客户id
     * @return customerId String
     */
    public String getCustomerId() {
        return customerId;
    }

    /**
     * 设置客户id
     * @param customerId 客户id
     */
    public void setCustomerId(String customerId) {
        this.customerId = customerId == null ? null : customerId.trim();
    }

    /**
     * 获取权益id
     * @return rightsId String
     */
    public String getRightsId() {
        return rightsId;
    }

    /**
     * 设置权益id
     * @param rightsId 权益id
     */
    public void setRightsId(String rightsId) {
        this.rightsId = rightsId == null ? null : rightsId.trim();
    }

    /**
     * 获取机构号
     * @return organizationId String
     */
    public String getOrganizationId() {
        return organizationId;
    }

    /**
     * 设置机构号
     * @param organizationId 机构号
     */
    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId == null ? null : organizationId.trim();
    }

    /**
     * 获取生效日期
     * @return effectDate Date
     */
    public Date getEffectDate() {
        return effectDate;
    }

    /**
     * 设置生效日期
     * @param effectDate 生效日期
     */
    public void setEffectDate(Date effectDate) {
        this.effectDate = effectDate;
    }

    /**
     * 获取失效日期
     * @return expiresDate Date
     */
    public Date getExpiresDate() {
        return expiresDate;
    }

    /**
     * 设置失效日期
     * @param expiresDate 失效日期
     */
    public void setExpiresDate(Date expiresDate) {
        this.expiresDate = expiresDate;
    }

    /**
     * 获取权益类型
     * @return rightsType String
     */
    public String getRightsType() {
        return rightsType;
    }

    /**
     * 设置权益类型
     * @param rightsType 权益类型
     */
    public void setRightsType(String rightsType) {
        this.rightsType = rightsType == null ? null : rightsType.trim();
    }

    /**
     * 获取权益名称
     * @return rightsName String
     */
    public String getRightsName() {
        return rightsName;
    }

    /**
     * 设置权益名称
     * @param rightsName 权益名称
     */
    public void setRightsName(String rightsName) {
        this.rightsName = rightsName == null ? null : rightsName.trim();
    }

    /**
     * 获取折扣天数
     * @return discountDays Integer
     */
    public Integer getDiscountDays() {
        return discountDays;
    }

    /**
     * 设置折扣天数
     * @param discountDays 折扣天数
     */
    public void setDiscountDays(Integer discountDays) {
        this.discountDays = discountDays;
    }

    /**
     * 获取折扣利率
     * @return discountRate BigDecimal
     */
    public BigDecimal getDiscountRate() {
        return discountRate;
    }

    /**
     * 设置折扣利率
     * @param discountRate 折扣利率
     */
    public void setDiscountRate(BigDecimal discountRate) {
        this.discountRate = discountRate;
    }

    /**
     * 获取折扣计算方式
     * @return discountType String
     */
    public String getDiscountType() {
        return discountType;
    }

    /**
     * 设置折扣计算方式
     * @param discountType 折扣计算方式
     */
    public void setDiscountType(String discountType) {
        this.discountType = discountType == null ? null : discountType.trim();
    }

    /**
     * 获取折扣期数
     * @return discountTerms Integer
     */
    public Integer getDiscountTerms() {
        return discountTerms;
    }

    /**
     * 设置折扣期数
     * @param discountTerms 折扣期数
     */
    public void setDiscountTerms(Integer discountTerms) {
        this.discountTerms = discountTerms;
    }

    /**
     * 获取最小借款金额
     * @return minAmount BigDecimal
     */
    public BigDecimal getMinAmount() {
        return minAmount;
    }

    /**
     * 设置最小借款金额
     * @param minAmount 最小借款金额
     */
    public void setMinAmount(BigDecimal minAmount) {
        this.minAmount = minAmount;
    }

    /**
     * 获取最大借款金额
     * @return maxAmount BigDecimal
     */
    public BigDecimal getMaxAmount() {
        return maxAmount;
    }

    /**
     * 设置最大借款金额
     * @param maxAmount 最大借款金额
     */
    public void setMaxAmount(BigDecimal maxAmount) {
        this.maxAmount = maxAmount;
    }

    /**
     * 获取允许借款期数
     * @return allowLoanTenor String
     */
    public String getAllowLoanTenor() {
        return allowLoanTenor;
    }

    /**
     * 设置允许借款期数
     * @param allowLoanTenor 允许借款期数
     */
    public void setAllowLoanTenor(String allowLoanTenor) {
        this.allowLoanTenor = allowLoanTenor == null ? null : allowLoanTenor.trim();
    }

    /**
     * 获取适用产品
     * @return allowProducts String
     */
    public String getAllowProducts() {
        return allowProducts;
    }

    /**
     * 设置适用产品
     * @param allowProducts 适用产品
     */
    public void setAllowProducts(String allowProducts) {
        this.allowProducts = allowProducts == null ? null : allowProducts.trim();
    }

    /**
     * 获取订单id
     * @return loanId String
     */
    public String getLoanId() {
        return loanId;
    }

    /**
     * 设置订单id
     * @param loanId 订单id
     */
    public void setLoanId(String loanId) {
        this.loanId = loanId == null ? null : loanId.trim();
    }

    /**
     * 获取权益状态 0-未使用 1-已使用
     * @return rightsStatus String
     */
    public String getRightsStatus() {
        return rightsStatus;
    }

    /**
     * 设置权益状态 0-未使用 1-已使用
     * @param rightsStatus 权益状态 0-未使用 1-已使用
     */
    public void setRightsStatus(String rightsStatus) {
        this.rightsStatus = rightsStatus == null ? null : rightsStatus.trim();
    }

    /**
     * 获取贴息支付方 01-- 商户  02-- 平台  03-- 资金方  04--渠道
     * @return interestDiscountPayer String
     */
    public String getInterestDiscountPayer() {
        return interestDiscountPayer;
    }

    /**
     * 设置贴息支付方 01-- 商户  02-- 平台  03-- 资金方  04--渠道
     * @param interestDiscountPayer 贴息支付方 01-- 商户  02-- 平台  03-- 资金方  04--渠道
     */
    public void setInterestDiscountPayer(String interestDiscountPayer) {
        this.interestDiscountPayer = interestDiscountPayer == null ? null : interestDiscountPayer.trim();
    }

    /**
     * 获取创建时间
     * @return createTime Date
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取最后更新时间
     * @return updateTime Date
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置最后更新时间
     * @param updateTime 最后更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取最后更新操作员
     * @return updateBy String
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 设置最后更新操作员
     * @param updateBy 最后更新操作员
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy == null ? null : updateBy.trim();
    }

    /**
     * 获取记录版本号
     * @return recordVersionNumber Integer
     */
    public Integer getRecordVersionNumber() {
        return recordVersionNumber;
    }

    /**
     * 设置记录版本号
     * @param recordVersionNumber 记录版本号
     */
    public void setRecordVersionNumber(Integer recordVersionNumber) {
        this.recordVersionNumber = recordVersionNumber;
    }

    public String getActivityId() {
        return activityId;
    }

    public void setActivityId(String activityId) {
        this.activityId = activityId;
    }

    public String getCouponCate() {
        return couponCate;
    }

    public void setCouponCate(String couponCate) {
        this.couponCate = couponCate;
    }

    public Integer getRightsQuantity() {
        return rightsQuantity;
    }

    public void setRightsQuantity(Integer rightsQuantity) {
        this.rightsQuantity = rightsQuantity;
    }

    public String getRightsQualificationId() {
        return rightsQualificationId;
    }

    public void setRightsQualificationId(String rightsQualificationId) {
        this.rightsQualificationId = rightsQualificationId;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public Long getRightsExchangeLogId() {
        return rightsExchangeLogId;
    }

    public void setRightsExchangeLogId(Long rightsExchangeLogId) {
        this.rightsExchangeLogId = rightsExchangeLogId;
    }

    public BigDecimal getFaceValue() {
        return faceValue;
    }

    public void setFaceValue(BigDecimal faceValue) {
        this.faceValue = faceValue;
    }

    public BigDecimal getThresholdPrice() {
        return thresholdPrice;
    }

    public void setThresholdPrice(BigDecimal thresholdPrice) {
        this.thresholdPrice = thresholdPrice;
    }

    public BigDecimal getDiscountValue() {
        return discountValue;
    }

    public void setDiscountValue(BigDecimal discountValue) {
        this.discountValue = discountValue;
    }

    public BigDecimal getDiscountsCeiling() {
        return discountsCeiling;
    }

    public void setDiscountsCeiling(BigDecimal discountsCeiling) {
        this.discountsCeiling = discountsCeiling;
    }

    public String getCycleUse() {
        return cycleUse;
    }

    public void setCycleUse(String cycleUse) {
        this.cycleUse = cycleUse;
    }

    public BigDecimal getDiscountAmtUsed() {
        return discountAmtUsed;
    }

    public void setDiscountAmtUsed(BigDecimal discountAmtUsed) {
        this.discountAmtUsed = discountAmtUsed;
    }

    public BigDecimal getDiscountAmtLimit() {
        return discountAmtLimit;
    }

    public void setDiscountAmtLimit(BigDecimal discountAmtLimit) {
        this.discountAmtLimit = discountAmtLimit;
    }

    public String getSubChannel() {
        return subChannel;
    }

    public void setSubChannel(String subChannel) {
        this.subChannel = subChannel;
    }
}